package com.csun.cmny.provider.service;

import com.csun.cmny.base.dto.LoginAuthDto;
import com.csun.cmny.provider.dto.ActivityQueryDto;
import com.csun.cmny.provider.dto.OldmanQueryDto;
import com.csun.cmny.provider.model.domain.*;
import com.csun.cmny.provider.model.dto.WelfareIntroduceDto;
import com.csun.cmny.provider.model.dto.WelfareMessageDto;
import com.csun.cmny.provider.model.vo.QueryMachineOldInfoVo;
import com.csun.cmny.provider.model.vo.ReportFormCountVo;
import com.csun.cmny.provider.vo.WelfareActivityVo;
import com.github.pagehelper.PageInfo;
import net.sf.json.JSONObject;

import java.util.List;

public interface OmcQueryMachineService {


    /**
     * 报表统计
     * @param: [loginAuthDto]
     * @return: com.csun.cmny.provider.model.vo.ReportFormCountVo
     */
    ReportFormCountVo reportFormCount(LoginAuthDto loginAuthDto);

    /**
     * 福利院介绍-保存
     * @param: [welfareIntroduceDto, loginAuthDto]
     * @return: java.lang.Integer
     */
    Integer saveIntroduce(WelfareIntroduceDto welfareIntroduceDto, LoginAuthDto loginAuthDto);

    /**
     * 福利院介绍-按类型查询
     * @param: [type, loginAuthDto]
     * @return: com.csun.cmny.provider.model.domain.OmcWelfareIntroduce
     */
    List<OmcWelfareIntroduce> getIntroduceByIntroduceType(Integer type, LoginAuthDto loginAuthDto);

    /**
     * 福利院信息-保存
     * @param: [welfareMessageDto, loginAuthDto]
     * @return: java.lang.Integer
     */
    Integer saveMessage(WelfareMessageDto welfareMessageDto, LoginAuthDto loginAuthDto);

    /**
     * 福利院信息-查询
     * @param: [loginAuthDto]
     * @return: java.util.List<com.csun.cmny.provider.model.domain.OmcWelfareMessage>
     */
    List<OmcWelfareMessage> getMessage(LoginAuthDto loginAuthDto);

    /**
     * 添加活动
     * @param: [welfareActivity, loginAuthDto]
     * @return: java.lang.Integer
     */
    Integer saveWelfareActivity(OmcWelfareActivity welfareActivity, LoginAuthDto loginAuthDto);

    /**
     * 删除活动
     * @param: [activityId]
     * @return: java.lang.Integer
     */
    Integer deleteByActivityId(Long activityId);

    /**
     * 福利院活动分页查询
     * @param: [activityQueryDto, loginAuthDto]
     * @return: java.util.List<com.csun.cmny.provider.vo.WelfareActivityVo>
     */
    PageInfo queryActivitiesWithPage(ActivityQueryDto activityQueryDto, LoginAuthDto loginAuthDto);

//    /**
//     * 轮播图-添加
//     * @param: [picId, loginAuthDto]
//     * @return: int
//     */
//    int addActivityCarousel(Long picId, LoginAuthDto loginAuthDto);

    /**
     * 轮播图-删除
     * @param: [carouselId, loginAuthDto]
     * @return: int
     */
    int deleteCarouselById(Long carouselId, LoginAuthDto loginAuthDto);

    /**
     * 轮播图-查询
     * @param: [loginAuthDto]
     * @return: int
     */
    OmcWelfareActivityCarousel queryCarouselList(LoginAuthDto loginAuthDto);

    /**
     * 今日天气-查询
     * @param: []
     * @return: com.alibaba.fastjson.JSONObject
     */
    String getTodayWeather();

    /**
     * 查询老人详情
     * @param: [oldmanId, loginAuthDto]
     * @return: com.csun.cmny.provider.model.vo.QueryMachineOldInfoVo
     */
    QueryMachineOldInfoVo getOldmanInfoByOldmanId(Long oldmanId, LoginAuthDto loginAuthDto);

    /**
     * 查询老人列表
     * @param: [oldmanQueryDto, loginAuthDto]
     * @return: com.github.pagehelper.PageInfo
     */
    PageInfo queryOldmanList(OldmanQueryDto oldmanQueryDto, LoginAuthDto loginAuthDto);

    /**
     * 查询老人周期项目
     * @param: [oldmanId, loginAuthDto]
     * @return: java.util.List<com.csun.cmny.provider.model.domain.OmcCycleExpenseItem>
     */
    List<OmcCycleExpenseItem> getOldmanCycleItem(Long oldmanId, LoginAuthDto loginAuthDto);

    /**
     * 保存轮播图
     * @param: [picString, loginAuthDto]
     * @return: int
     */
    int saveActivityCarousel(String picString, LoginAuthDto loginAuthDto);

    List<OmcWelfareIntroduce> getIntroduceByGroupId(Integer type, Long groupId);
}
